package boot

import (
	"duoke/utils/gcache"
	"duoke/utils/gfile"
	"duoke/utils/orm"
	"duoke/utils/redislib"
	"github.com/gin-gonic/gin"
	"github.com/sirupsen/logrus"
	"io"
	"os"
)

// 用于应用初始化
func Init() {
	// 记录日志
	err := gfile.MakeDir("./log/")
	if err != nil {
		logrus.Fatal("创建日志目录失败", err)
		return
	}
	logFile, err := os.OpenFile("./log/log.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
	if err != nil {
		logrus.Fatal("打开日志目录失败", err)
		return
	}
	logrus.SetOutput(logFile)
	// 初始化gin日志
	f, _ := os.Create("log/gin.log")
	gin.DefaultWriter = io.MultiWriter(f, os.Stdout)
	// 连接Redis
	redislib.Init()
	// 初始化内存缓存
	gcache.InitMemoryCache()
	// 连接数据库
	orm.Init()

}
